/* 
 * File:   OperationUnaire.h
 * Author: Gab'z
 *
 * Created on 2 mai 2012, 17:18
 */

#ifndef OPERATEURUNAIRE_H
#define	OPERATEURBUAIRE_H

#include "Constante.h"
#include "Operateur.h"

class OperateurUnaire : public Operateur {
public:

protected:

    OperateurUnaire(std::string& name) : Operateur(name) {
    }

    virtual ~OperateurUnaire();

    virtual const Constante* apply(const Constante*) const throw (OperatorException) = 0;
private:
    void exec(Pile* pile) const throw (OperatorException);
};

#endif	/* OPERATEURUNAIRE_H */

